ggplotly(resultado)
grafico_corr
#Otra manera comparando la participación de los distintos años 
#Calculamos la participación total por año, a nivel nacional 
participacion_anual <- 
  resumen |>
  group_by(fecha) |>
  summarise(participacion_total = sum(votos, na.rm = TRUE))

media_votos_años <- 
  mean(participacion_anual$participacion_total)


#Clasificamos los años según si la participación ha sido más alta de lo normal, media o más baja
participacion_anual <- 
  participacion_anual |>
  mutate(categoria_participacion = case_when(
    participacion_total < media_votos_años ~ "Baja_participacion",
    participacion_total >= media_votos_años ~ "Alta_participacion" ))


#Calculamos los votos históricos por partido 
totales_partido <- 
  resumen |>
  group_by(siglas) |>
  summarise(votos_totales = sum(votos, na.rm = TRUE))  
  

#Participación relativa por partido y año
participacion_partido <- 
  resumen |>
  group_by(fecha, siglas) |>
  summarise(votos_partido = sum(votos, na.rm = TRUE), .groups = "drop") |>
  left_join(participacion_anual, by = "fecha") |>
  left_join(totales_partido, by = "siglas") |>
  mutate(participacion_relativa = votos_partido / participacion_total)


#en esta tabla tenemos votos_partido que son los votos de ese partido en esa elección
  #participación_total es el total de votos de la elección de ese año, todos los votantes
  #votos_totales son el total de votos que ha conseguido cada partido en todas las elecciones, suma todos los votos que ha tenido a lo largo de los años 
  #participación_relativa es el total de votos del partido ese año entre el total de votos habidos en esas elecciones
#Analizamos el beneficio por tipo de participación

comparacion <- 
  participacion_partido |>
  filter(categoria_participacion %in% c("Baja_participacion", "Alta_participacion")) |>
  group_by(siglas, 
           categoria_participacion) |>
  summarise(promedio_participacion = mean(participacion_relativa, na.rm = TRUE), .groups = "drop") |>
  pivot_wider(names_from = categoria_participacion, 
              values_from = promedio_participacion) |>
  mutate(beneficio_baja = Baja_participacion - Alta_participacion) |> 
  arrange(desc(beneficio_baja))
# Con el beneficio_baja sacamos la diferencia de porcentaje de votos de cada partido que han tenido los años de elecciones con naja participación entre los años de alta participación
# Los partidos donde beneficio_baja es positivo, significa que salen ganando cuando hay baja participación
#Los partidos con beneficio_baja negativo, significa que pierden votos cuando la participación es alta en las elecciones
comparacion
# A tibble: 12 × 4
   siglas   Alta_participacion Baja_participacion beneficio_baja
   <chr>                 <dbl>              <dbl>          <dbl>
 1 PP                 0.287               0.331        0.0440   
 2 VOX                0.0529              0.0773       0.0244   
 3 OTROS              0.0520              0.0662       0.0141   
 4 MP                 0.000159            0.00538      0.00522  
 5 EH-BILDU           0.00732             0.0111       0.00378  
 6 CIU                0.0281              0.0313       0.00323  
 7 PNV                0.0132              0.0138       0.000645 
 8 BNG                0.00494             0.00485     -0.0000821
 9 ERC                0.0250              0.0245      -0.000508 
10 Cs                 0.101               0.100       -0.000704 
11 UP                 0.138               0.137       -0.00164  
12 PSOE               0.318               0.268       -0.0500   
Code
# ANALIZANDO SI CIERTOS PARTIDOS GANAN MÁS EN ZONAS RURALES QUE EN ZONAS URBANAS
# Creamos una tabla en donde guardamos el tipo de zona según el censo:  Rural o Urbano
rurales_urbanas <-
  resumen |> 
  mutate("Zona" = ifelse(censo < 10000, 
                         "Rural", 
                         "Urbano"))

# Calculamos los votos de cada partido para cada tipo de zona en cada elección
votos_por_zona <-
  rurales_urbanas |> 
  group_by(fecha, Zona, siglas) |> 
  summarise(Total_votos = sum(votos), 
            .groups = "drop")

# Creamos el gráfico que muestre las diferencias entre partidos, tipos de zona y fechas de elecciones
ggplot(votos_por_zona, 
       aes(x = siglas, y = Total_votos, fill = Zona)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.5)) +
  facet_wrap(~ fecha, ncol = 2) + # Dividir gráficos por fecha de elección
  scale_fill_manual(values = c("Rural" = "#D2B48C", "Urbano" = "#8B0000"))+
  labs(
    title = "Comparación de votos por partido entre zonas rurales y urbanas",
    x = "Siglas",
    y = "Total de Votos",
    fill = "Zona") +
  theme_minimal(base_family = "Rockwell") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        plot.title = element_text(size = 18,face = "bold", hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5)   )
Code
# Como era de esperar, nos salen 6 gráficos (uno por cada fecha electoral) pero el problema es que puede ser bastante complicado de entender a la hora de exponerlo. Es por ello que creo conveniente poner 3 gráficos pero por separados que muestren cómo ha ido evolucionando los votos a lo largo del tiempo, por ejemplo el gráfico del 2008, el del 2016 y el del 2019
# GRÁFICOS 2008, 2016 Y 2019

# 2008
votos_por_zona_2008 <-
  rurales_urbanas |> 
  filter(fecha == "2008-03-01") |> 
  group_by(Zona, siglas) |> 
  summarise(Total_votos = sum(votos), .groups = "drop")

zona_2008 <-
  ggplot(votos_por_zona_2008, aes(x = siglas, y = Total_votos, fill = Zona)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.5)) +
  scale_fill_manual(values = c("Rural" = "#D2B48C", "Urbano" = "#8B0000")) +
  labs(
    title = "Comparación de votos por partido entre zonas rurales y urbanas",
    subtitle = "Fecha: Marzo de 2008",
    x = "Siglas",
    y = "Total de Votos",
    fill = "Zona"
  ) + 
  theme_minimal(base_family = "Rockwell") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        plot.title = element_text(size = 18,face = "bold", hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5))

# 2016
votos_por_zona_2016 <-
  rurales_urbanas |> 
  filter(fecha == "2016-06-01") |> 
  group_by(Zona, siglas) |> 
  summarise(Total_votos = sum(votos), .groups = "drop")

zona_2016 <- 
  ggplot(votos_por_zona_2016, aes(x = siglas, y = Total_votos, fill = Zona)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.5)) +
  scale_fill_manual(values = c("Rural" = "#D2B48C", "Urbano" = "#8B0000")) +
  labs(
    title = "Comparación de votos por partido entre zonas rurales y urbanas",
    subtitle = "Fecha: Junio de 2016",
    x = "Siglas",
    y = "Total de Votos",
    fill = "Zona"
  ) +
  theme_minimal(base_family = "Rockwell") +
  theme(axis.text.x = element_text(angle = 45, 
                                   hjust = 1),
        plot.title = element_text(size = 18,face = "bold", hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5))

# 2019 (la última)
votos_por_zona_2019 <-
  rurales_urbanas |> 
  filter(fecha == "2019-11-01") |> 
  group_by(Zona, siglas) |> 
  summarise(Total_votos = sum(votos), 
            .groups = "drop")

zona_2019 <-
  ggplot(votos_por_zona_2019, aes(x = siglas, 
                                  y = Total_votos, 
                                  fill = Zona)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.5)) +
  scale_fill_manual(values = c("Rural" = "#D2B48C", "Urbano" = "#8B0000")) + 
  labs(
    title = "Comparación de votos por partido entre zonas rurales y urbanas",
    subtitle = "Fecha: Noviembre de 2019",
    x = "Siglas",
    y = "Total de Votos",
    fill = "Zona"
  ) +
  theme_minimal(base_family = "Rockwell") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        plot.title = element_text(size = 18,face = "bold", hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5))
zona_2008

zona_2016

zona_2019

ggplotly(grafico_combinado)
map_ganador